home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Code / TEDGE.Frm < prev    next >
Text File  |  1997-06-14  |  14KB  |  497 lines

  1. VERSION 5.00
  2. Begin VB.Form FTestEdges 
  3.    Caption         =   "Test Edges"
  4.    ClientHeight    =   3945
  5.    ClientLeft      =   1260
  6.    ClientTop       =   1605
  7.    ClientWidth     =   5025
  8.    Icon            =   "TEDGE.frx":0000
  9.    LinkTopic       =   "Form1"
  10.    PaletteMode     =   1  'UseZOrder
  11.    ScaleHeight     =   263
  12.    ScaleMode       =   3  'Pixel
  13.    ScaleWidth      =   335
  14.    Begin VB.CheckBox chkSt 
  15.       Caption         =   "Soft"
  16.       Height          =   435
  17.       Left            =   2265
  18.       MaskColor       =   &H00000000&
  19.       TabIndex        =   13
  20.       Top             =   960
  21.       Width           =   1230
  22.    End
  23.    Begin VB.CheckBox chkAj 
  24.       Caption         =   "Adjust"
  25.       Height          =   435
  26.       Left            =   2265
  27.       MaskColor       =   &H00000000&
  28.       TabIndex        =   12
  29.       Top             =   1380
  30.       Width           =   1230
  31.    End
  32.    Begin VB.CheckBox chkFt 
  33.       Caption         =   "Flat"
  34.       Height          =   435
  35.       Left            =   2265
  36.       MaskColor       =   &H00000000&
  37.       TabIndex        =   11
  38.       Top             =   1800
  39.       Width           =   1230
  40.    End
  41.    Begin VB.CheckBox chkMo 
  42.       Caption         =   "Monochrome"
  43.       Height          =   435
  44.       Left            =   2265
  45.       MaskColor       =   &H00000000&
  46.       TabIndex        =   10
  47.       Top             =   2220
  48.       Width           =   1230
  49.    End
  50.    Begin VB.CheckBox chkTp 
  51.       Caption         =   "Top"
  52.       Height          =   435
  53.       Left            =   3735
  54.       MaskColor       =   &H00000000&
  55.       TabIndex        =   9
  56.       Top             =   960
  57.       Value           =   1  'Checked
  58.       Width           =   990
  59.    End
  60.    Begin VB.CheckBox chkRt 
  61.       Caption         =   "Right"
  62.       Height          =   435
  63.       Left            =   3735
  64.       MaskColor       =   &H00000000&
  65.       TabIndex        =   8
  66.       Top             =   1380
  67.       Value           =   1  'Checked
  68.       Width           =   990
  69.    End
  70.    Begin VB.CheckBox chkBt 
  71.       Caption         =   "Bottom"
  72.       Height          =   435
  73.       Left            =   3735
  74.       MaskColor       =   &H00000000&
  75.       TabIndex        =   7
  76.       Top             =   1800
  77.       Value           =   1  'Checked
  78.       Width           =   990
  79.    End
  80.    Begin VB.CheckBox chkMd 
  81.       Caption         =   "Fill Middle"
  82.       Height          =   435
  83.       Left            =   2265
  84.       MaskColor       =   &H00000000&
  85.       TabIndex        =   6
  86.       Top             =   540
  87.       Width           =   1230
  88.    End
  89.    Begin VB.CheckBox chkDg 
  90.       Caption         =   "Diagonal"
  91.       Height          =   435
  92.       Left            =   3735
  93.       MaskColor       =   &H00000000&
  94.       TabIndex        =   5
  95.       Top             =   2220
  96.       Width           =   990
  97.    End
  98.    Begin VB.CheckBox chkSI 
  99.       Caption         =   "Sunken Inner"
  100.       Height          =   435
  101.       Left            =   180
  102.       MaskColor       =   &H00000000&
  103.       TabIndex        =   4
  104.       Top             =   1800
  105.       Width           =   1560
  106.    End
  107.    Begin VB.CheckBox chkRI 
  108.       Caption         =   "Raised Inner"
  109.       Height          =   435
  110.       Left            =   180
  111.       MaskColor       =   &H00000000&
  112.       TabIndex        =   3
  113.       Top             =   1380
  114.       Value           =   1  'Checked
  115.       Width           =   1515
  116.    End
  117.    Begin VB.CheckBox chkSO 
  118.       Caption         =   "Sunken Outer"
  119.       Height          =   435
  120.       Left            =   180
  121.       MaskColor       =   &H00000000&
  122.       TabIndex        =   2
  123.       Top             =   960
  124.       Width           =   1530
  125.    End
  126.    Begin VB.CheckBox chkLf 
  127.       Caption         =   "Left"
  128.       Height          =   435
  129.       Left            =   3735
  130.       MaskColor       =   &H00000000&
  131.       TabIndex        =   1
  132.       Top             =   540
  133.       Value           =   1  'Checked
  134.       Width           =   990
  135.    End
  136.    Begin VB.CheckBox chkRO 
  137.       Caption         =   "Raised Outer"
  138.       Height          =   435
  139.       Left            =   180
  140.       MaskColor       =   &H00000000&
  141.       TabIndex        =   0
  142.       Top             =   540
  143.       Value           =   1  'Checked
  144.       Width           =   1545
  145.    End
  146.    Begin VB.Label lblButton 
  147.       BackStyle       =   0  'Transparent
  148.       Caption         =   "                                     &Click Me"
  149.       Height          =   585
  150.       Left            =   240
  151.       TabIndex        =   16
  152.       Top             =   2520
  153.       Width           =   1260
  154.    End
  155.    Begin VB.Label lblBigOption 
  156.       BackStyle       =   0  'Transparent
  157.       Caption         =   "        Reset"
  158.       BeginProperty Font 
  159.          Name            =   "MS Sans Serif"
  160.          Size            =   12
  161.          Charset         =   0
  162.          Weight          =   400
  163.          Underline       =   0   'False
  164.          Italic          =   0   'False
  165.          Strikethrough   =   0   'False
  166.       EndProperty
  167.       Height          =   312
  168.       Index           =   1
  169.       Left            =   3444
  170.       TabIndex        =   19
  171.       Top             =   3468
  172.       Width           =   1740
  173.    End
  174.    Begin VB.Label lblBigOption 
  175.       BackStyle       =   0  'Transparent
  176.       Caption         =   "        Change"
  177.       BeginProperty Font 
  178.          Name            =   "MS Sans Serif"
  179.          Size            =   12
  180.          Charset         =   0
  181.          Weight          =   400
  182.          Underline       =   0   'False
  183.          Italic          =   0   'False
  184.          Strikethrough   =   0   'False
  185.       EndProperty
  186.       Height          =   312
  187.       Index           =   0
  188.       Left            =   3444
  189.       TabIndex        =   18
  190.       Top             =   3000
  191.       Width           =   1740
  192.    End
  193.    Begin VB.Label lblStyle 
  194.       Caption         =   "Style flags:"
  195.       Height          =   330
  196.       Left            =   2265
  197.       TabIndex        =   15
  198.       Top             =   240
  199.       Width           =   2475
  200.    End
  201.    Begin VB.Label lblBorder 
  202.       Caption         =   "Border flags: "
  203.       Height          =   285
  204.       Left            =   180
  205.       TabIndex        =   14
  206.       Top             =   240
  207.       Width           =   1530
  208.    End
  209.    Begin VB.Label lblBigCheck 
  210.       BackStyle       =   0  'Transparent
  211.       Caption         =   "        Cool"
  212.       BeginProperty Font 
  213.          Name            =   "MS Sans Serif"
  214.          Size            =   12
  215.          Charset         =   0
  216.          Weight          =   400
  217.          Underline       =   0   'False
  218.          Italic          =   0   'False
  219.          Strikethrough   =   0   'False
  220.       EndProperty
  221.       Height          =   315
  222.       Left            =   1770
  223.       TabIndex        =   17
  224.       Top             =   3000
  225.       Width           =   1740
  226.    End
  227. End
  228. Attribute VB_Name = "FTestEdges"
  229. Attribute VB_GlobalNameSpace = False
  230. Attribute VB_Creatable = False
  231. Attribute VB_PredeclaredId = True
  232. Attribute VB_Exposed = False
  233. Option Explicit
  234.  
  235. Private afOpFlags As Long
  236. Private hLSysImages As Long, cLSysImages As Long
  237. Private hSSysImages As Long, cSSysImages As Long
  238.     
  239. Private chk As RECT, afChk As Long
  240. Private radChange As RECT, afRadChange As Long
  241. Private radReset As RECT, afRadReset As Long
  242. Private cmd As RECT
  243. Private afBorder As Long, afBorderT As Long, afStyle As Long
  244.  
  245. Private Sub Form_Load()
  246.     
  247.     ' Fake button
  248.     With lblButton
  249.         cmd.Left = .Left
  250.         cmd.Top = .Top
  251.         cmd.Right = .Left + .Width
  252.         cmd.bottom = .Top + .Height
  253.     End With
  254.     InitButton
  255.     
  256.     ' Fake check box
  257.     With lblBigCheck
  258.         chk.Left = .Left
  259.         chk.Top = .Top
  260.         chk.Right = .Left + .Height
  261.         chk.bottom = .Top + .Height
  262.     End With
  263.     afChk = DFCS_BUTTONCHECK Or DFCS_CHECKED
  264.     DrawFrameControl hDC, chk, DFC_BUTTON, afChk
  265.     
  266.     ' Fake option buttons
  267.     With lblBigOption(0)
  268.         radChange.Left = .Left
  269.         radChange.Top = .Top
  270.         radChange.Right = .Left + .Height
  271.         radChange.bottom = .Top + .Height
  272.     End With
  273.     afRadChange = DFCS_BUTTONRADIO Or DFCS_CHECKED
  274.     DrawFrameControl hDC, radChange, DFC_BUTTON, afRadChange
  275.     With lblBigOption(1)
  276.         radReset.Left = .Left
  277.         radReset.Top = .Top
  278.         radReset.Right = .Left + .Height
  279.         radReset.bottom = .Top + .Height
  280.     End With
  281.     afRadReset = DFCS_BUTTONRADIO
  282.     DrawFrameControl hDC, radReset, DFC_BUTTON, afRadReset
  283.     
  284. End Sub
  285.  
  286. Private Sub Form_Paint()
  287.     DrawFrameControl hDC, chk, DFC_BUTTON, afChk
  288.     DrawFrameControl hDC, radChange, DFC_BUTTON, afRadChange
  289.     DrawFrameControl hDC, radReset, DFC_BUTTON, afRadReset
  290.     DrawEdge hDC, cmd, afBorder, afStyle
  291. End Sub
  292.  
  293. Private Sub chkRO_Click()
  294.     UpdateButton
  295. End Sub
  296.  
  297. Private Sub chkSO_Click()
  298.     UpdateButton
  299. End Sub
  300.  
  301. Private Sub chkRI_Click()
  302.     UpdateButton
  303. End Sub
  304.  
  305. Private Sub chkSI_Click()
  306.     UpdateButton
  307. End Sub
  308.  
  309. Private Sub chkLf_Click()
  310.     UpdateButton
  311. End Sub
  312.  
  313. Private Sub chkTp_Click()
  314.     UpdateButton
  315. End Sub
  316.  
  317. Private Sub chkRt_Click()
  318.     UpdateButton
  319. End Sub
  320.  
  321. Private Sub chkBt_Click()
  322.     UpdateButton
  323. End Sub
  324.  
  325. Private Sub chkDg_Click()
  326.     UpdateButton
  327. End Sub
  328.  
  329. Private Sub chkMd_Click()
  330.     UpdateButton
  331. End Sub
  332.  
  333. Private Sub chkSt_Click()
  334.     UpdateButton
  335. End Sub
  336.  
  337. Private Sub chkAj_Click()
  338.     UpdateButton
  339. End Sub
  340.  
  341. Private Sub chkFt_Click()
  342.     UpdateButton
  343. End Sub
  344.  
  345. Private Sub chkMo_Click()
  346.     UpdateButton
  347. End Sub
  348.  
  349. Private Sub lblBigCheck_Click()
  350.     If afChk <> (DFCS_BUTTONCHECK Or DFCS_CHECKED) Then
  351.         afChk = DFCS_BUTTONCHECK Or DFCS_CHECKED
  352.     Else
  353.         afChk = DFCS_BUTTONCHECK
  354.     End If
  355.     DrawFrameControl hDC, chk, DFC_BUTTON, afChk
  356. End Sub
  357.  
  358. Private Sub lblBigOption_Click(Index As Integer)
  359.     If Index = 0 Then
  360.         If afRadChange <> (DFCS_BUTTONRADIO Or DFCS_CHECKED) Then
  361.             afRadChange = DFCS_BUTTONRADIO Or DFCS_CHECKED
  362.             afRadReset = DFCS_BUTTONRADIO
  363.         Else
  364.             afRadChange = DFCS_BUTTONRADIO
  365.             afRadReset = DFCS_BUTTONRADIO Or DFCS_CHECKED
  366.             InitButton
  367.         End If
  368.     Else
  369.         If afRadReset <> (DFCS_BUTTONRADIO Or DFCS_CHECKED) Then
  370.             afRadReset = DFCS_BUTTONRADIO Or DFCS_CHECKED
  371.             afRadChange = DFCS_BUTTONRADIO
  372.             InitButton
  373.         Else
  374.             afRadReset = DFCS_BUTTONRADIO
  375.             afRadChange = DFCS_BUTTONRADIO Or DFCS_CHECKED
  376.         End If
  377.     End If
  378.     DrawFrameControl hDC, radChange, DFC_BUTTON, afRadChange
  379.     DrawFrameControl hDC, radReset, DFC_BUTTON, afRadReset
  380. End Sub
  381.  
  382. Private Sub lblButton_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  383.     ToggleButton False
  384.     lblBigCheck_Click
  385. End Sub
  386.  
  387. Private Sub lblButton_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
  388.     ToggleButton True
  389. End Sub
  390.  
  391. Sub UpdateButton()
  392.     If chkRO.Value = vbChecked Then
  393.         afBorder = afBorder Or BDR_RAISEDOUTER
  394.     Else
  395.         afBorder = afBorder And Not BDR_RAISEDOUTER
  396.     End If
  397.     If chkSO.Value = vbChecked Then
  398.         afBorder = afBorder Or BDR_SUNKENOUTER
  399.     Else
  400.         afBorder = afBorder And Not BDR_SUNKENOUTER
  401.     End If
  402.     If chkRI.Value = vbChecked Then
  403.         afBorder = afBorder Or BDR_RAISEDINNER
  404.     Else
  405.         afBorder = afBorder And Not BDR_RAISEDINNER
  406.     End If
  407.     If chkSI.Value = vbChecked Then
  408.         afBorder = afBorder Or BDR_SUNKENINNER
  409.     Else
  410.         afBorder = afBorder And Not BDR_SUNKENINNER
  411.     End If
  412.     If chkLf.Value = vbChecked Then
  413.         afStyle = afStyle Or BF_LEFT
  414.     Else
  415.         afStyle = afStyle And Not BF_LEFT
  416.     End If
  417.     If chkTp.Value = vbChecked Then
  418.         afStyle = afStyle Or BF_TOP
  419.     Else
  420.         afStyle = afStyle And Not BF_TOP
  421.     End If
  422.     If chkRt.Value = vbChecked Then
  423.         afStyle = afStyle Or BF_RIGHT
  424.     Else
  425.         afStyle = afStyle And Not BF_RIGHT
  426.     End If
  427.     If chkBt.Value = vbChecked Then
  428.         afStyle = afStyle Or BF_BOTTOM
  429.     Else
  430.         afStyle = afStyle And Not BF_BOTTOM
  431.     End If
  432.     If chkDg.Value = vbChecked Then
  433.         afStyle = afStyle Or BF_DIAGONAL
  434.     Else
  435.         afStyle = afStyle And Not BF_DIAGONAL
  436.     End If
  437.     If chkMd.Value = vbChecked Then
  438.         afStyle = afStyle Or BF_MIDDLE
  439.     Else
  440.         afStyle = afStyle And Not BF_MIDDLE
  441.     End If
  442.     If chkSt.Value = vbChecked Then
  443.         afStyle = afStyle Or BF_SOFT
  444.     Else
  445.         afStyle = afStyle And Not BF_SOFT
  446.     End If
  447.     If chkAj.Value = vbChecked Then
  448.         afStyle = afStyle Or BF_ADJUST
  449.     Else
  450.         afStyle = afStyle And Not BF_ADJUST
  451.     End If
  452.     If chkFt.Value = vbChecked Then
  453.         afStyle = afStyle Or BF_FLAT
  454.     Else
  455.         afStyle = afStyle And Not BF_FLAT
  456.     End If
  457.     If chkMo.Value = vbChecked Then
  458.         afStyle = afStyle Or BF_MONO
  459.     Else
  460.         afStyle = afStyle And Not BF_MONO
  461.     End If
  462.     lblBorder.Caption = "Border flags: &&H" & FmtHex(afBorder, 4)
  463.     lblStyle.Caption = "Edge flags: &&H" & FmtHex(afStyle, 8)
  464.     DrawEdge hDC, cmd, afBorder, afStyle
  465.     Refresh
  466. End Sub
  467.  
  468. Sub ToggleButton(ByVal fUp As Boolean)
  469.     If fUp Then
  470.         afBorder = afBorderT
  471.     Else
  472.         afBorderT = afBorder
  473.         afBorder = (Not afBorder) And &HF
  474.     End If
  475.     lblBorder.Caption = "Border: &&H" & FmtHex(afBorder, 8)
  476.     DrawEdge hDC, cmd, afBorder, afStyle
  477. End Sub
  478.  
  479. Sub InitButton()
  480.     chkRO.Value = vbChecked
  481.     chkSO.Value = vbUnchecked
  482.     chkRI.Value = vbChecked
  483.     chkSI.Value = vbUnchecked
  484.     chkLf.Value = vbChecked
  485.     chkTp.Value = vbChecked
  486.     chkRt.Value = vbChecked
  487.     chkBt.Value = vbChecked
  488.     chkDg.Value = vbUnchecked
  489.     chkSt.Value = vbUnchecked
  490.     chkAj.Value = vbUnchecked
  491.     chkFt.Value = vbUnchecked
  492.     chkMo.Value = vbUnchecked
  493.     UpdateButton
  494. End Sub
  495.  
  496.  
  497.